package day0401;

import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Collectors;

public class MinAbsSum16 {
    /**
     * 16.乱序整数序列两数之和绝对值最小
     * 给定一个随机的整数数组(可能存在正整数和负整数)nums,
     * 请你在该数组中找出两个数，其和的绝对值(|nums[x]+nums[y]|)为最小值
     * 并返回这两个数(按从小到大返回)以及绝对值。
     * 每种输入只会对应一个答案。但是，数组中同一个元素不能使用两遍。
     * 输入
     * -1 -3 7 5 11 15
     * 输出
     * -3 5 2
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        List<Integer> num = Arrays.stream(sc.nextLine().split(" ")).map(Integer::parseInt).collect(Collectors.toList());
        int result = Integer.MAX_VALUE;
        int a = 0;
        int b = 0;
        for (int i = 0; i < num.size() - 1; i++) {
            for (int j = i + 1; j < num.size(); j++) {
                result = Math.min(result, Math.abs(num.get(i) + num.get(j)));
                if (result == Math.abs(num.get(i) + num.get(j))) {
                    a = num.get(i);
                    b = num.get(j);
                }
            }
        }
        System.out.println(Math.min(a, b) + " " + Math.max(a, b) + " " + result);


    }
}
